package com.eedi.framework.user.controller.org.vo;

import com.eedi.framework.common.enums.CertTypeEnum;
import com.eedi.framework.common.enums.RealNameAuthStateEnum;
import com.eedi.framework.common.enums.YesOrNoEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import java.time.LocalDateTime;

@Schema(description = "经营管理 - 用户 Response VO")
@Data
@ToString(callSuper = true)
public class OrgUserAccountResp {
    /**
     * 账号id
     */
    @Schema(description = "账号id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23788")
    private String orgUserAccountId;

    /**
     * 用户id
     */
    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23788")
    private String orgUserId;

    /**
     * 昵称
     */
    @Schema(description = "昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
    private String orgUserNickname;

    /**
     * 姓名
     */
    @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
    private String orgUserName;

    /**
     * 用户注册手机号
     */
    @Schema(description = "用户注册手机号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String orgUserMobile;

    /**
     * 用户证件类型
     */
    @Schema(description = "用户证件类型 (定义见枚举)", example = "2")
    private CertTypeEnum orgUserCertType;

    /**
     * 用户证件号码
     */
    @Schema(description = "用户证件号码")
    private String orgUserCertNo;

    /**
     * 最后登录时间
     */
    @Schema(description = "最后登录时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime loginDate;

    /**
     * 注册日期
     */
    @Schema(description = "注册日期", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

    /**
     * 实名认证： 0未认证 1 认证
     */
    private RealNameAuthStateEnum authState;

    /**
     * 黑名单： 0否 1是
     */
    private YesOrNoEnum black;

    /**
     * 黑名单id
     */
    private String orgUserBlackId;

}
